home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
-
-
-
-
-
- <▓▒█▓▒░▒░▒▒▒▒▒▒▒▓▒▒░░▄ ▄░░▒▒▓▒▒▒▒▒▒▒░▒░▒▓█▒▓>
- ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀█▓▒░▄ ▄░▒▓█▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
- ▀▀▀▒░▄ ╖ ╓ ╓─╖ ╖─╖ ▄░▒▀▀▀▀
- ▀░∙∙║ ╥ ║ ╙─╖ ╟─╢∙∙░▀
- ░∙╙─╨─╜ ╙─╜ ╜─╜∙░
- ┌───────────────────────────────┐
- │ C O M M U N I C A T I O N S │
- └───────────────────────────────┘
- >─────────────────────────────────────────────────<
- dwCopy,dwDT,dwKey,dwMove,dwPrime,tas10,tas922
- (C) 1992, 1993 william burlew
- >─────────────────────────────────────────────────<
-
-
- [i].
- ────────────────────────────────────────────────────────────────────────────
- DWPROGS v1.01
- 08/07/1993
-
- This is an update to DWPROGS v1.0. Some suggestions were made and they
- have been implemented as follows:
-
- DWDT.EXE:
- 1). There is only one entry field for filename and switches.
- 2). Entry field now allows <esc>.
- 3). Pressing F10 now accepts the entry.
- 4). From the command line a help screen can be displayed.
- 5). The file list can now be removed from memory during
- program execution.
- removed 6). Clock from calendar window.
-
-
- DWCOPY.EXE & DWMOVE.EXE:
- 1). Error checking for invalid [source] filename and
- [destination] filename has been improved.
-
- INIT.BAT:
- 1). Will now compensate for the existence of [\DW]
- directory.
-
-
- See the program(s) descriptions beginning on page of [2].
-
- Spelling has improved.<g>
-
- Billing method from Compuserve had to be changed, therefore a new ID
- was issued and is listed.
-
- If anyone experienced any problems, I apologize.
-
-
-
- * * * Files contained in DWPROG11.ZIP * * *
-
-
- 1). BW.COM
- 2). DESCRIER.TXT
- 3). DWCOPY.EXE
- 4). DWDT.EXE
- 5). DWKEY.EXE
- 6). DWMOVE.EXE
- 7). DWPRIME.EXE
- 8). INIT.BAT
- 9). REGISTER.FRM
-
-
- * * * * * * * * * * * * * * * * *
-
-
- [0].
- ────────────────────────────────────────────────────────────────────────────
-
-
-
- CONTENTS
-
- Copyright Notice ..................................................... [ 1]
- Program Descriptions ................................................. [ 2]
- How to patch Command.Com ............................................. [ 5]
- Debug commands to use ................................................ [ 6]
- Examples for patching ................................................ [ 7]
- DOS version 5.0 ................................................ [ 7]
- DOS version 4.0 ................................................ [ 8]
- DOS version 3.3 ................................................ [ 9]
- New CompuServe ID .................................................... [10]
-
-
- [1].
- ────────────────────────────────────────────────────────────────────────────
-
- ==================
- Copyright NOTICE
- ==================
-
- The programs, ['dwMove', dwCopy', 'dwDT', 'dwPrime', and 'dwKey'] are
- protected by the United States copyright law. Copying this software for
- use other than a backup for a trial period is prohibited. These programs
- do require a registration fee if you find the program(s) of use and do use
- them after a reasonable trial period of (45) days. See the 'Register.Doc'
- file please.
-
- ==================
- Acknowledgements
- ==================
-
- ■ Turbo Pascal is a registered trademark of Borland International.
- ■ IBM is a registered trademark of International Business Machines.
- ■ CompuServe is a registered trademark of CompuServe Information Services,
- Inc.
- ■ MS-DOS is a registered trademark of Microsoft Corporation.
-
- * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
-
- ============
- DISCLAIMER
- ============
-
- For the disclaimer of warranty for the above mentioned programs, they
- are distributed as is. I, william burlew, (hereafter referred to as
- 'the author') disclaims all warranties, expressed or implied, including
- without limitation, any warranties of merchantability and/or fitness for a
- particular purpose.
-
- The author shall not be liable for any damages, whether direct, indirect,
- special, or consequential arising from a failure of these programs to
- operate in the manner desired by the user. The author shall not be liable
- for any damage to data or property which may be caused directly or
- indirectly by use of these programs.
-
-
- [2].
- ────────────────────────────────────────────────────────────────────────────
-
- =============
- DESCRIPTION - quick & simple
- =============
- *** All programs require MS-DOS v3.3 or greater.
-
- 0). Init.Bat
- Used to copy the program files from a floppy diskette to the hard
- drive. It assumes [drive A:] as the source drive and [drive C:] as
- the target drive. You may change these defaults by assigning a
- different source drive and target [drive\dir] to the variables;
-
- set SDRV=A: change [A:] to your choice for [source] drive
- set TDRV=C: change [C:] to your choice for [target] drive
- set DWDIR=DW change [DW] to your choice for [directory]
-
- NOTE0: Ensure "BW.Com", "DWCopy.Exe" and "DWMove.Exe" are on
- the disk with "Init.Bat".
- NOTE1: These programs do not require "Init.Bat". Supplied
- only to help the user if the user copies the files to a
- floppy diskette to give to another user for a trial run.
-
- 1). DWPrime <enter>
- Nothing more than a prime number generator.
-
- All calculations are saved to a text file named 'Prime.Txt' by
- default on termination of the program if in fact there are results
- to save. You may save your results during execution after which
- those results will be removed from memory.
-
- If the range of integers to calculate runs out of available memory
- the program will terminate and save what results are in memory at
- that time to 'Prime.Txt'. If this occurs, there is no call to
- sort those results. They will be saved in descending order.
-
- NOTE0: For large ranges I do not recommend executing the program
- from a floppy due to the proportional growth in file size
- to results that will be saved. 'Prime.Txt' can grow rather
- large when calculating large ranges!
-
- Approximation: 23,400 integers to find prime can produce a file
- 'Prime.Txt' of 1.3Mb! This of course depends on
- your available memory which will be different from
- mine.
-
- 2). DWKey <enter>
- More of a programmer's utility to show the ASCII & xSCAN codes of
- keys pressed. Their decimal, hexadecimal, octal, and binary
- equivalents are displayed along with the status bytes of toggle
- keys pressed.
-
-
- [3].
- ────────────────────────────────────────────────────────────────────────────
-
- =============
- DESCRIPTION - continued
- =============
-
- 3). DWMove [-/]? <enter> ...for syntax/help screen.
- A file(s) mover. If 'moving' file(s) to a floppy 'DWMove' will
- detect when & if the floppy is full and prompt you to insert another
- formatted diskette to continue 'moving' the file(s). Depending on
- the file(s) attributes some files will not be moved.
- 'DWMove' will notify you of this -> [access denied] and the 'move'
- process will continue.
- NOTE0: 'DWMove' makes no distinction if it is 'moving' files over
- file(s) of the same name so keep this in mind.
- NOTE1: redirection is allowed.
-
- 4). DWCopy [-/]? <enter> ...for syntax/help screen.
- A simple file(s) copier. Basically the same as 'DWMove' without
- deleting the source file(s). If copying to a floppy diskette it
- also will detect if your diskette is full and will prompt you to
- insert another formatted disk so the 'copying' process can continue.
-
- NOTE0: 'DWCopy' also makes no distinction if it is 'copying' file(s)
- over file(s) of the same name so keep this in mind.
- NOTE1: redirection is allowed here also.
-
- 5). DWDT [/?] for a help screen.
- Changes a file(s) date & time stamp. Maintains a list of the file(s)
- changed and of any file errors during the program's execution. This
- list can be viewed anytime or sent to your printer or removed from
- memory. It assumes your your printer is connected to [LPT1]. A
- calendar window was added so the user can view a calendar represent-
- ation of a given month and year:
-
- ( legal range for Month=[1..12] and Year=[1980..2099] ).
-
- At this time it doesn't perform any other function than to let
- the user view a calendar.
-
- A status line will be displayed with available function keys and
- their functions.
-
- There is only one input field that accepts the following
- parameters and their formats:
-
- [Filename] [/D Month/Day/Year] [/T Hour:Minutes:Seconds]
-
- [Filename] [/D 00/00/0000] [/T 00:00:00]
-
- You may press <esc> from the input field at anytime to escape
- your entry or press F10 to accept.
-
-
- [4].
- ────────────────────────────────────────────────────────────────────────────
-
- During execution F1 will display the following help window
- (shown below) and explains what is expected in the entry field
- and their valid ranges. You may also
- type:
-
- C:\>DWDT /? <enter>
-
- this will display some help text before actually beginning the
- program if you prefer.
-
- To begin DWDT type:
-
- C:\>DWDT <enter>
-
-
- -[Help·F1]------------------------------------------------------------
- The entry field accepts the following format:
-
- [Filename] [/D Month/Day/Year] [/T Hour:Minutes:Seconds]
- [Filename] consists of a valid [drive+colon], directory name and a
- valid filename. Wildcards are accepted.
-
- Example: C:\AUTOEXEC.BAT /D 01/01/1993 /T 11:00:00
-
- [/D] Components of the date must be separated by a "/" and within the
- valid range for each component. Valid ranges are:
- Month = [1..12] Day = [1..31] Year = [1980..2099]
- [/T] Components of the time must be separated by a ":" and within the
- valid range for each component. Valid ranges are:
- Hour = [0..23] Minutes = [0..59] Seconds = [0..59]
-
- You may enter a "Date" or "Time" or both. It is not required that you
- enter either. By not entering these the list will show the file(s)
- current date and time stamp. The status line shows available keys you
- can use while entering the parameters. You may press <Esc> to exit from
- the entry field or F10 to accept your entry.
-
- -----------------------------<Esc>·Clears------------------------------
-
-
- [5].
- ────────────────────────────────────────────────────────────────────────────
-
- EXAMPLES ON HOW TO PATCH COMMAND.COM
-
- Make sure you have a backup of the original 'Command.Com' safely stored
- on a floppy (a good boot disk is recommended) before you patch the
- file.
-
- The next few pages will show you how to patch your 'Command.Com' file
- in case you wanted to substitute 'DWCopy.Exe' for the DOS internal
- 'Copy' command. You can still use the DOS 'Copy' command even after you
- patch your version of 'Command.Com'.
-
- Examples listed are for DOS 'Command.Com' versions 5.0, 4.0, and 3.3.
- There is syntax listed in the examples that you DO NOT type in. It is
- placed there only to guide you through using 'Debug'...
-
- <type then enter> This means you type in what is to the left of the
- statement and then press <enter> or <return>,
- depending on how your key is listed on your keyboard.
-
- ; Statements separated by a semicolon are there for an
- explanation only. In case you are unfamiliar with
- 'Debug' this will help you to understand what is go-
- ing on.
- "NEWN" This is the new name you are replacing the DOS 'Copy'
- command with. You can use whatever name you want but
- ONLY 4 characters, no less. As long as it is in upper-
- case then you can type this name at the DOS command
- line and still execute the internal DOS 'Copy' command.
-
- Example: C:\>NEWN [D:\][source filename] [D:\][destination filename]
-
- This will execute the DOS 'Copy' command as before your patch.
-
- After you patch the file and if you rename 'DWCopy.Exe' to
- 'Copy.Exe' then when you type...
-
- C:\>COPY [D:\][source filename] [D:\][destination filename]
-
- ...you will actually be executing 'DWCopy.exe' instead of the
- DOS internal 'Copy' command.
-
-
- [6].
- ────────────────────────────────────────────────────────────────────────────
-
- { Debug commands you will be using }
-
- R ;we need to display the contents of the CX register to get the
- length of the file.
- S ;we need to search a block of memory for the string of characters
- "COPY"
- D ;we want to display the contents in memory so we can see the string
- of characters "COPY"
- E ;we need to enter the string characters to replace "COPY" at the
- correct address... the address [S]earch will return.
- L ;we'll load the recently replaced string of characters and see if
- they are there.
- W ;write the file back to disk.
- Q ;quits the 'Debug' program.
-
-
- NOTE1a: The important thing to remember is the offset address returned
- after executing [-S]earch. I suggest you study the examples
- before you begin if you are not familiar with 'Debug'. It is
- actually quite simple.
-
- { the offset addresses for the 'Command.Com' versions I tested. }
-
- A93B offset for "COPY" 'Command.Com' v5.0
-
- 81DC offset for "COPY" 'Command.Com' v4.0
-
- 54CB offset for "COPY" 'Command.Com' v3.3
-
-
- I do not guarantee that the addresses will be the same or that these
- examples if followed will constitute a successful patch by you, but
- they are indicative of what you can do.
-
-
- [7].
- ────────────────────────────────────────────────────────────────────────────
-
-
- { Use Dos's Debug to patch Command.Com for DOS version 5.0 }
-
- * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * *
-
-
- This example has Command.Com on a floppy in drive A:
- NOTE0: Segment addresses will vary. There is no guarantee that the off-
- set addresses will be the same either.
-
-
- ────────────────────────────────────────────────────────────────────────────
-
-
- C:\>debug a:\command.com <type then enter>
- -rcx <type then enter> ; get the length from CX reg.
- CX BAE5 ; length of file to verify
- : <enter>
- -S 0100 BAE5 "COPY" <type then enter> ; lets search for "COPY"
- 2575:89BA ; first address found
- 2575:A93B ; second address found*
- -D A93B <type then enter> ; dump the second address
- ; and view it
-
- 2575:A930 43 4F 50 59 03 COPY.
- 2575:A940 C3 38 B4 84 05 50 41 55-53 45 06 4A 1A 3E 85 04 .8...PAUSE.J.>..
- 2575:A950 44 41 54 45 02 C4 2F C4-84 04 54 49 4D 45 02 2D DATE../...TIME.-
- 2575:A960 30 1E 85 03 56 45 52 02-B7 1D 28 85 03 56 4F 4C 0...VER...(..VOL
- 2575:A970 03 BB 1C 30 85 02 43 44-03 77 25 A8 84 05 43 48 ...0..CD.w%...CH
- 2575:A980 44 49 52 03 77 25 A8 84-02 4D 44 03 E2 25 EA 84 DIR.w%...MD..%..
- 2575:A990 05 4D 4B 44 49 52 03 E2-25 EA 84 02 52 44 03 56 .MKDIR..%...RD.V
- 2575:A9A0 26 0A 85 05 52 4D 44 49-52 03 56 26 0A 85 05 42 &...RMDIR.V&...B
- 2575:A9B0 52 45 41 4B 02 BC 37 9E-84 06 56 REAK..7...V
-
- -E A93B "NEWN" <type then enter> ; replace "COPY" with "NEWN"
- ; or any 4 characters!
- -D A93B L 40 <type then enter> ; view 40 bytes at address to
- ; verify your replacement
-
- 2575:A930 42 42 42 42 03 NEWN.
- 2575:A940 C3 38 B4 84 05 50 41 55-53 45 06 4A 1A 3E 85 04 .8...PAUSE.J.>..
- 2575:A950 44 41 54 45 02 C4 2F C4-84 04 54 49 4D 45 02 2D DATE../...TIME.-
- 2575:A960 30 1E 85 03 56 45 52 02-B7 1D 28 85 03 56 4F 4C 0...VER...(..VOL
- 2575:A970 03 BB 1C 30 85 02 43 44-03 77 25 ...0..CD.w%
-
- -w <type then enter> ; now write the file back to
- ; disk
- Writing 0BAE5 bytes ; verify correct length
- -q <type then enter> ; quit debug
-
- ────────────────────────────────────────────────────────────────────────────
-
-
- [8].
- ────────────────────────────────────────────────────────────────────────────
-
-
- { Use Dos's Debug to patch Command.Com for DOS version 4.0 }
-
- * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * *
-
-
- This example has Command.Com on a floppy in drive A:
- NOTE0: Segment addresses will vary. There is no guarantee that the off-
- set addresses will be the same for your version either.
-
- ────────────────────────────────────────────────────────────────────────────
-
- C:\>debug a:\command.com <type then enter>
- -rcx <type then enter> ; get the length from CX reg.
- CX 92B5 ; length of file to verify
- : <enter>
- -S 0100 92B5 "COPY" <type then enter> ; lets search for "COPY"
- 2575:81DC ; only one address found
- -D 81DC <type then enter> ; dump the address and view it
-
- 2575:81D0 43 4F 50 59 COPY
- 2575:81E0 03 0A 30 05 50 41 55 53-45 02 0F 13 04 44 41 54 ..0.PAUSE....DAT
- 2575:81F0 45 02 4D 27 04 54 49 4D-45 02 B7 27 03 56 45 52 E.M'.TIME..'.VER
- 2575:8200 00 2C 16 03 56 4F 4C 03-25 15 02 43 44 03 7C 1D .,..VOL.%..CD.|.
- 2575:8210 05 43 48 44 49 52 03 7C-1D 02 4D 44 03 E2 1D 05 .CHDIR.|..MD....
- 2575:8220 4D 4B 44 49 52 03 E2 1D-02 52 44 03 56 1E 05 52 MKDIR....RD.V..R
- 2575:8230 4D 44 49 52 03 56 1E 05-42 52 45 41 4B 02 03 2F MDIR.V..BREAK../
- 2575:8240 06 56 45 52 49 46 59 02-46 2F 03 53 45 54 02 E6 .VERIFY.F/.SET..
- 2575:8250 1A 06 50 52 4F 4D 50 54-02 CC 1A 04 ..PROMPT....
-
- -E 81DC "NEWN" <type then enter> ; replace "COPY" with "NEWN"
- ; or any 4 characters!
- -D 81DC L 40 <type then enter> ; view 40 bytes at address to
- ; verify your replacement
-
- 2575:81D0 4E 45 57 4E NEWN
- 2575:81E0 03 0A 30 05 50 41 55 53-45 02 0F 13 04 44 41 54 ..0.PAUSE....DAT
- 2575:81F0 45 02 4D 27 04 54 49 4D-45 02 B7 27 03 56 45 52 E.M'.TIME..'.VER
- 2575:8200 00 2C 16 03 56 4F 4C 03-25 15 02 43 44 03 7C 1D .,..VOL.%..CD.|.
- 2575:8210 05 43 48 44 49 52 03 7C-1D 02 4D 44 .CHDIR.|..MD
-
- -w <type then enter> ; now write the file back to
- disk
- Writing 092B5 bytes ; verify correct length
- -q <type then enter> ; quit debug
-
- ────────────────────────────────────────────────────────────────────────────
-
-
- [9].
- ────────────────────────────────────────────────────────────────────────────
-
-
- { Use Dos's Debug to patch Command.Com for DOS version 3.3 }
-
- * * * PLEASE MAKE A BACKUP OF COMMAND.COM BEFORE ATTEMPTING THIS * * *
-
-
- This example has Command.Com on a floppy in drive A:
- NOTE0: Segment addresses will vary. There is no guarantee that the off-
- set addresses will be the same for your version either.
-
- ────────────────────────────────────────────────────────────────────────────
-
- C:\>debug a:\command.com <type then enter>
- -rcx <type then enter> ; get file length from CX reg.
- CX 62DC ; 25308b in length
- : <enter>
- -S 0100 62DC "COPY" <type then enter> ; lets search for "COPY"
- 2575:54CB ; only one address found
- -D 54CB <type then enter> ; dump the address to view it
-
- 2575:54C0 43 4F 50 59 03 COPY.
- 2575:54D0 35 2A 05 50 41 55 53 45-02 B0 11 04 44 41 54 45 5*.PAUSE....DATE
- 2575:54E0 02 41 21 04 54 49 4D 45-00 59 22 03 56 45 52 00 .A!.TIME.Y".VER.
- 2575:54F0 94 13 03 56 4F 4C 01 3E-13 02 43 44 01 DD 18 05 ...VOL.>..CD....
- 2575:5500 43 48 44 49 52 01 DD 18-02 4D 44 01 20 19 05 4D CHDIR....MD. ..M
- 2575:5510 4B 44 49 52 01 20 19 02-52 44 01 64 19 05 52 4D KDIR. ..RD.d..RM
- 2575:5520 44 49 52 01 64 19 05 42-52 45 41 4B 00 15 29 06 DIR.d..BREAK..).
- 2575:5530 56 45 52 49 46 59 00 47-29 03 53 45 54 02 C5 16 VERIFY.G).SET...
- 2575:5540 06 50 52 4F 4D 50 54 02-AB 16 04 .PROMPT....
-
- -E 54CB "NEWN" <type and enter> ; replace "COPY" with "NEWN"
- ; or any 4 characters!
- -D 54CB L 40 <type and enter> ; view 40 bytes at address to
- to verify your replacement
-
- 2575:54C0 4E 45 57 4E 03 NEWN.
- 2575:54D0 35 2A 05 50 41 55 53 45-02 B0 11 04 44 41 54 45 5*.PAUSE....DATE
- 2575:54E0 02 41 21 04 54 49 4D 45-00 59 22 03 56 45 52 00 .A!.TIME.Y".VER.
- 2575:54F0 94 13 03 56 4F 4C 01 3E-13 02 43 44 01 DD 18 05 ...VOL.>..CD....
- 2575:5500 43 48 44 49 52 01 DD 18-02 4D 44 CHDIR....MD
-
- -w <type then enter> ; now write the file back to
- disk
- Writing 062DC bytes ; verify correct length
- -q <type then enter> ; quit debug
-
- ────────────────────────────────────────────────────────────────────────────
-
-
- [10].
- ────────────────────────────────────────────────────────────────────────────
-
-
- If all went well then copy the patched 'Command.Com' back to your hard drive
- and to it's original directory. If you have two copies of 'Command.Com' on
- your hard drive then make sure the patched version is copied over each.
-
- Place 'DWCopy.Exe' in your DOS directory and rename it to 'Copy.Exe'. Now
- reboot your system so your patched 'Command.Com' can be reloaded. Now,
- anytime you execute 'Copy' it will be 'DWCopy' that is executed. You can
- still use the DOS 'Copy' command, as long as the 4 characters you replaced
- it with are uppercase, by entering the name of whatever you patched it to.
-
- ────────────────────────────────────────────────────────────────────────────
- ────────────────────────────────────────────────────────────────────────────
-
-
- Make sure DOS can find these files through your Path statement.
- Your [\DOS] directory is good place for "DWMove.Exe" & " DWCopy.Exe".
-
- All programs were tested on IBM compatibles 8088-486, color and mono,
- using MS-DOS versions 3.3 thru 5.0. All programs were compiled using
- Borland's Turbo Pascal v7.0.
-
-
- New CompuServe UID 73053,3202 08/05/1993
-
- Hope the program(s) are of some use,
- william.